package practice8;

import java.util.Scanner;

public class P7 {

    static int mod = 1000000007;

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] list = new int[n+1];
        for(int i=1;i<=n;i++){
            list[i]=sc.nextInt();
        }
        int dp[]=new int[n+1]; //dp[i]��ʾǰi�������зֵĸ���
        dp[0]=1;
        for(int i=1;i<=n;i++){
            int max=list[i];
            int min=list[i];
            //j����ȥ
            for(int j=i;j>=1;j--){
                max=Math.max(max,list[j]);
                min=Math.min(min,list[j]);
                //�����j��i�����ֵ����Сֵ
                if(max-min == i-j){
                    //�����ֵ����Сֵ֮�� == �������±�֮��,˵����j��i���Թ���һ���µ�������
                    //ǰj-1��Ԫ�ع���dp[j-1]�ַַ�,��˻�����������ɵ������������dp[j-1]�ַַ�
                    dp[i]=(dp[i]+dp[j-1])%mod;
                }
            }
        }
        System.out.println(dp[n]);
    }

}
